home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / OscillatorSpecifier.h < prev    next >
Text File  |  1995-01-08  |  4KB  |  116 lines

  1. /* OscillatorSpecifier.h */
  2.  
  3. #ifndef Included_OscillatorSpecifier_h
  4. #define Included_OscillatorSpecifier_h
  5.  
  6. /* OscillatorSpecifier module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Memory */
  12. /* SampleSelector */
  13. /* ModulationSpecifier */
  14. /* Envelope */
  15. /* LFOListSpecifier */
  16. /* EffectSpecList */
  17.  
  18. typedef float OscillatorNumType;
  19.  
  20. /* forwards */
  21. struct SampleSelectorRec;
  22. struct EnvelopeRec;
  23. struct LFOListSpecRec;
  24. struct OscillatorListRec;
  25. struct EffectSpecListRec;
  26.  
  27. typedef enum
  28.     {
  29.         eOscillatorSampled EXECUTE(= -1229),
  30.         eOscillatorWaveTable
  31.     } OscillatorTypes;
  32.  
  33. struct OscillatorRec;
  34. typedef struct OscillatorRec OscillatorRec;
  35.  
  36. /* create a new oscillator structure */
  37. OscillatorRec*                        NewOscillatorSpecifier(void);
  38.  
  39. /* dispose of an oscillator structure */
  40. void                                            DisposeOscillatorSpecifier(OscillatorRec* Osc);
  41.  
  42. /* set the oscillator type */
  43. void                                            OscillatorSetTheType(OscillatorRec* Osc,
  44.                                                         OscillatorTypes WhatKindOfOscillator);
  45.  
  46. /* find out what kind of oscillator this is */
  47. OscillatorTypes                        OscillatorGetWhatKindItIs(OscillatorRec* Osc);
  48.  
  49. /* get the pitch interval --> sample mapping */
  50. struct SampleSelectorRec*    OscillatorGetSampleIntervalList(OscillatorRec* Osc);
  51.  
  52. /* get the output loudness of the oscillator */
  53. OscillatorNumType                    OscillatorGetOutputLoudness(OscillatorRec* Osc);
  54.  
  55. /* put a new output loudness in for the oscillator */
  56. void                                            PutOscillatorNewOutputLoudness(OscillatorRec* Osc,
  57.                                                         double NewOutputLevel);
  58.  
  59. /* get the frequency multiplier factor */
  60. OscillatorNumType                    OscillatorGetFrequencyMultiplier(OscillatorRec* Osc);
  61.  
  62. /* get the frequency divisor integer */
  63. long                                            OscillatorGetFrequencyDivisor(OscillatorRec* Osc);
  64.  
  65. /* get the frequency adder thing */
  66. OscillatorNumType                    OscillatorGetFrequencyAdder(OscillatorRec* Osc);
  67.  
  68. /* change the frequency adjust factors */
  69. void                                            PutOscillatorNewFrequencyFactors(OscillatorRec* Osc,
  70.                                                         double NewMultipler, long NewDivisor);
  71.  
  72. /* put a new frequency adder value */
  73. void                                            PutOscillatorFrequencyAdder(OscillatorRec* Osc,
  74.                                                         double NewAdder);
  75.  
  76. /* get the loudness envelope for the oscillator */
  77. struct EnvelopeRec*                OscillatorGetLoudnessEnvelope(OscillatorRec* Osc);
  78.  
  79. /* get the list of LFO oscillators modulating the loudness envelope output */
  80. struct LFOListSpecRec*        OscillatorGetLoudnessLFOList(OscillatorRec* Osc);
  81.  
  82. /* get the excitation envelope for the oscillator */
  83. struct EnvelopeRec*                OscillatorGetExcitationEnvelope(OscillatorRec* Osc);
  84.  
  85. /* get the list of LFO oscillators modulating the excitation envelope output */
  86. struct LFOListSpecRec*        OscillatorGetExcitationLFOList(OscillatorRec* Osc);
  87.  
  88. /* get the stereo bias factor */
  89. OscillatorNumType                    OscillatorGetStereoBias(OscillatorRec* Osc);
  90.  
  91. /* put a new value for the stereo bias factor */
  92. void                                            OscillatorPutStereoBias(OscillatorRec* Osc,
  93.                                                         OscillatorNumType NewStereoBias);
  94.  
  95. /* get the surround bias factor */
  96. OscillatorNumType                    OscillatorGetSurroundBias(OscillatorRec* Osc);
  97.  
  98. /* put a new value for the surround bias factor */
  99. void                                            OscillatorPutSurroundBias(OscillatorRec* Osc,
  100.                                                         OscillatorNumType NewSurroundBias);
  101.  
  102. /* get the time displacement factor */
  103. OscillatorNumType                    OscillatorGetTimeDisplacement(OscillatorRec* Osc);
  104.  
  105. /* put a new value for the time displacement factor */
  106. void                                            OscillatorPutTimeDisplacement(OscillatorRec* Osc,
  107.                                                         OscillatorNumType NewTimeDisplacement);
  108.  
  109. /* get the oscillator's frequency LFO list */
  110. struct LFOListSpecRec*        GetOscillatorFrequencyLFOList(OscillatorRec* Osc);
  111.  
  112. /* get the effect list for the oscillator */
  113. struct EffectSpecListRec*    GetOscillatorEffectList(OscillatorRec* Osc);
  114.  
  115. #endif
  116.